import Vue from 'vue'
import Vuex from 'vuex'
// 1. 导入需要被组装的模块
import user from './m_user.js'
// 导入持久化 vuex 数据的插件，得到的 createPersistedState 是一个函数
// 作用：创建一个“持久化vuex数据的插件实例”
import createPersistedState from 'vuex-persistedstate'
// 导入 getters 模块
import getters from './getters.js'

Vue.use(Vuex)

export default new Vuex.Store({
  // 安装给 vuex 的插件
  plugins: [createPersistedState()],
  // modules 用来组装模块
  modules: {
    // 2. 在 modules 节点下，进行模块的组装
    // 语法：
    // 模块的注册名称: 步骤1导入的模块对象
    user
  },
  // getters 相当于“计算属性”
  // 在 store/index.js 中定义的，叫做全局的 getters
  // 可以把常用的 state 数据，封装为 getters，提供快捷的访问方式
  getters
})
